//package com.kaili.basic.interceptor;
//
//import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
//import org.springframework.http.HttpOutputMessage;
//import org.springframework.http.converter.HttpMessageNotWritableException;
//import springfox.documentation.spring.web.json.Json;
//import springfox.documentation.swagger.web.SecurityConfiguration;
//import springfox.documentation.swagger.web.SwaggerResource;
//import springfox.documentation.swagger.web.UiConfiguration;
//
//import java.io.IOException;
//import java.util.ArrayList;
//
//public class KLFastJosnHttpMessageConverter extends FastJsonHttpMessageConverter{
//    /**
//     * 兼容SWAGGER 接口
//     * @param obj
//     * @param outputMessage
//     * @throws IOException
//     * @throws HttpMessageNotWritableException
//     */
//    @Override
//    protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
//        Object ret = null ;
//        if(obj instanceof ResponseBean){
//            ret = obj;
//        }else if(obj instanceof Json){
//            ret = obj;
//        }else if(obj instanceof UiConfiguration){
//            ret = obj;
//        }else if(obj instanceof SecurityConfiguration){
//            ret = obj;
//        }else if(obj instanceof ArrayList){
//            ArrayList<Object> item = (ArrayList<Object>) obj;
//            if(item.get(0) instanceof SwaggerResource){
//                ret = obj;
//            }else{
//                ret = new ResponseBean();
//                ((ResponseBean)ret).setCode(200);
//                ((ResponseBean)ret).setMsg("OK");
//                ((ResponseBean)ret).setData(obj);
//            }
//        }else {
//            ret = new ResponseBean();
//            ((ResponseBean)ret).setCode(200);
//            ((ResponseBean)ret).setMsg("OK");
//            ((ResponseBean)ret).setData(obj);
//        }
//        super.writeInternal(ret,outputMessage);
//    }
//}
